A. Field of the Invention
This invention relates to the field of the digital data processing systems wherein one or more host data processors utilize one or more supporting scientific processors in conjunction with storage systems that are commonly accessible. More particularly it relates to an improved High Performance Storage Unit for use in such a digital data processing system. Still more particularly this invention relates to the macro level control of an activity switch in the supporting scientific vector processor. Even more specifically, the invention relates to a system for replacing the usual hardware controlled activity switch which has heretofore been implemented in microcode or some other primitive level of control with one that uses a macro instruction level of control.
B. State of the Prior Art
Digital data processing systems are known wherein one or more independently operable data processors function with one or more commonly accessible main storage systems. Systems are also known that utilize a support processor with its associated dedicated supporting, or secondary storage system. Such support processors are often configured to perform specialized scientific computations and are commonly under task assignment control of one of the independently operable data processors. The controlling data processor is commonly referred to as a "host processor". The host processor characteristically functions to cause a task to be assigned to the support processor; to cause required instructions and data to be transferred to the secondary storage system; to cause the task execution to be initiated; and to respond to signals indicating the task has been completed, so that results can be transferred to the selected main storage systems. It is also the duty of the host processor to recognize and accommodate conflicts in usage and timing that might be detected to exist. Commonly, the host processor is free to perform other data processing matters while the support processor is performing its assigned tasks. It is also common for the host processor to respond to intermediate needs of the support processor, such as providing additional data if required, responding to detected fault conditions and the like.
In the past, support scientific data processors have been associated with the host data processing systems. One such prior art scientific processor is disclosed in U.S. Pat. No. 4,101,960, entitled "Scientific Processor" and assigned to Burroughs Corporation, of Detroit, Mich. In that system, a single instruction multiple data processor, which is particularly suited for scientific applications, includes a high level language programmable front-end processor; a parallel task processor with an array memory; a large high speed secondary storage system having a multiplicity of high speed input/output channels commonly coupled to the front-end processor and to the array memory; and an over-all control unit. In operation of that system, an entire task is transferred from the front-end processor to the secondary storage system whereupon the task is thereafter executed on the parallel task processor under the supervision of the control unit, thereby freeing the front-end processor to perform general purpose input/output operations and other tasks. Upon parallel task completion, the complete results are transferred back to the front-end processor from the secondary storage system.
It is believed readily seen that the front-end processor used in this earlier system is a large general purpose data processing system which has its own primary storage system. It is from this primary storage system that the entire task is transferred to the secondary storage system. Further, it is believed to be apparent that an input/output path exists to and from the secondary storage system from this front-end processor. Since task transfers involve the use of the input/output path of the front-end processor, it is this input/output path and the transfer of data thereon between the primary and secondary storage systems which becomes the limiting link between the systems. Such a limitation is not unique to the Scientific Processor as disclosed in U.S. Pat. No. 4,101,960. Rather, this input/output path and the transfers of data are generally considered to be the bottleneck in many such earlier known systems.
The present scientific data processing system is considered to overcome the data transfer bottleneck by providing an unique system architecture using a high speed memory unit which is commonly accessible by the host processor and the scientific support processor. Further, when multiple high speed storage units are required, a multiple unit adapter is coupled between a plurality of high speed memory units and the scientific processor.
Data processing systems are becoming more and more complex. With the advent of integrated circuit fabrication technology, the cost per gate of logic elements is greatly reduced and the number of gates utilized is ever-increasing. A primary goal in architectural design is to improve the through-put of problem solutions. Such architectures often utilize a plurality of processing units in cooperation with one or more multiple port memory systems, whereby portions of the same problem solution may be parcelled out to different processors or different problems may be in the process of solution simultaneously.
The scientific processor discussed herein is intended for user code only. It does not run an executive operating system. Further, it does not require a control program nor does it have any privileged modes of operation. Such a scientific processor is usually intended for computation intensive processing. It is therefore assumed herein that most activities placed onto the scientific processor will execute for a long time relative to the typical time slice applied to instruction processors.
Since this scientific processor does not execute control program it is necessary to have some means of activity switching built into their architectures so that the activities required to be accomplished have some means of being initiated and terminated.
Almost invariably, earlier activity switches used in such scientific data processing systems have been hardware controlled. These switches were usually implemented either in microcode, or in some other primitive level of control. The very nature of these earlier systems required that such logical switching solutions be of a separate and detailed nature. That is, they could not, in any way utilize the existing logical networks because of their detailed and primitive control levels. These earlier control switches will be referred to herein as microcontrolled activity switches.
In a scientific processor, a unit of scheduled work is called an activity. In the proposed embodiment of the scientific data processing system, a scientific vector processor (SVP) is utilized in conjunction with a host system. As previously noted, the SVP has neither its own executive control program nor a privileged mode of execution. It is completely dependent upon the host system. All scheduling of its activities is done by the host system and each activity is explicitly dispatched to it. In all known former systems, these dispatched activities were implemented via separate microcontrolled activity switches with the consequent control occurring at the most primitivve microcode levels within the Scientific Vector Processor.